package com.springboot.framework.service;

import com.springboot.framework.model.BuyerModel;
import com.springboot.framework.model.CouponsModel;
import com.springboot.framework.model.UserCouponsModel;

import java.util.List;

/**
 * @author SWF
 * @date 2019/6/20 11:13
 **/
public interface UserCouponsService {

    /**
     * 领取优惠券
     * @return
     */
    UserCouponsModel receive(BuyerModel buyerModel, CouponsModel couponsModel);

    List<UserCouponsModel> list(Integer userId);

    /**
     * 查看未使用的优惠券
     * @param userId
     * @return
     */
    List<UserCouponsModel> listOfUnused(Integer userId);

    /**
     * 查看未使用的优惠券
     * @param userCouponsId
     * @return
     */
    UserCouponsModel get(Integer userCouponsId);

    /**
     * 查看指定优惠券的领取记录数，包括已使用/已失效的优惠券
     * @param userId
     * @param couponsId
     * @return
     */
    int getRecordCount(Integer userId, Integer couponsId);

    UserCouponsModel updateStatus(Integer userCouponsId, Byte status);
}
